package com.cloudkinto.dto.order.amazonV2Shipping;

import com.baomidou.mybatisplus.core.enums.IEnum;

/**
 * @author long
 * @Description rateItem 的唯一 ID
 * @Date 2025/2/12 13:07
 */
public enum RateItemID implements IEnum<String> {
    /**
     * 基本利率
     */
    BASE_RATE,
    /**
     * 交易费用
     */
    TRANSACTION_FEE,
    /**
     * 成人签名确认费用
     */
    ADULT_SIGNATURE_CONFIRMATION,
    /**
     * 签名确认费用
     */
    SIGNATURE_CONFIRMATION,
    /**
     * 无确认收费
     */
    NO_CONFIRMATION,
    /**
     * 豁免签名收费
     */
    WAIVE_SIGNATURE,
    /**
     * 隐含责任费用
     */
    IMPLIED_LIABILITY,
    /**
     * 隐藏邮资
     */
    HIDDEN_POSTAGE,
    /**
     * 申报的估价保险费用
     */
    DECLARED_VALUE,
    /**
     * 周日假日送货费
     */
    SUNDAY_HOLIDAY_DELIVERY,
    /**
     * 收取送达确认费
     */
    DELIVERY_CONFIRMATION,
    /**
     * 进口关税
     */
    IMPORT_DUTY_CHARGE,
    /**
     * 增值税
     */
    VAT,
    /**
     * 星期六送货不收费
     */
    NO_SATURDAY_DELIVERY,
    /**
     * 保险费
     */
    INSURANCE,
    /**
     * COD 费用
     */
    COD,
    /**
     * 燃油附加费
     */
    FUEL_SURCHARGE,
    /**
     * 检查费
     */
    INSPECTION_CHARGE,
    /**
     * 送货区域附加费
     */
    DELIVERY_AREA_SURCHARGE,
    /**
     * 运单费用
     */
    WAYBILL_CHARGE,
    /**
     * 亚马逊赞助折扣
     */
    AMAZON_SPONSORED_DISCOUNT,
    /**
     * 集成商赞助折扣
     */
    INTEGRATOR_SPONSORED_DISCOUNT,
    /**
     * 超大附加费
     */
    OVERSIZE_SURCHARGE,
    /**
     * 拥堵费
     */
    CONGESTION_CHARGE,
    /**
     * 住宅附加费
     */
    RESIDENTIAL_SURCHARGE,
    /**
     * 额外附加费
     */
    ADDITIONAL_SURCHARGE,
    /**
     * 附加税
     */
    SURCHARGE,
    /**
     * 折扣
     */
    REBATE,
    /**
     * 高立方体附加费
     */
    HIGH_CUBE_SURCHARGE,
    /**
     * 高长度附加费
     */
    HIGH_LENGTH_SURCHARGE,
    /**
     * 高宽度附加费
     */
    HIGH_WIDTH_SURCHARGE,
    /**
     * 在 Amazon Shipping Service 指南中指定的网络需求增加的特定时段收取的费用
     */
    DEMAND_SURCHARGE,
    /**
     * 适用于超出 Amazon Shipping Service 指南中指定的处理和分拣标准尺寸的包裹的费用
     */
    NONSTANDARD_FEE;

    @Override
    public String getValue() {
        return name();
    }
}
